package com.mallcloud.mall.mall.api.entity.vo;

import com.fasterxml.jackson.annotation.JsonFormat;
import com.mallcloud.mall.common.core.constant.enums.mall.PointsProductEnum;
import io.swagger.annotations.ApiModel;
import io.swagger.annotations.ApiModelProperty;
import lombok.Data;
import org.springframework.format.annotation.DateTimeFormat;

import java.io.Serializable;
import java.math.BigDecimal;
import java.util.Date;

@ApiModel(value = "MallPointsProductViewVO", description = "积分商品")
@Data
public class MallPointsProductViewVO implements Serializable {
	private static final long serialVersionUID = 1L;

	@ApiModelProperty(value = "商品编码，主键")
	private String id;

	@ApiModelProperty(value = "MIS商品名称")
	private String name;

	@ApiModelProperty(value = "MIS积分分值")
	private Long points;

	@ApiModelProperty(value = "市场售价（元）")
	private BigDecimal salePrice;

	@ApiModelProperty(value = "兑换金额（元）")
	private BigDecimal redeemMoney;

	/**
	 * {@link PointsProductEnum.RedeemTypeEnum}
	 */
	@ApiModelProperty(value = "兑换类型")
	private Integer redeemType;

	/**
	 * {@link PointsProductEnum.RebateTypeEnum}
	 */
	@ApiModelProperty(value = "返利类型")
	private Integer rebateType;

	@ApiModelProperty(value = "商品图片组id")
	private Long imageGroupId;

	/**
	 * {@link PointsProductEnum.ProductStatusEnum}
	 */
	@ApiModelProperty(value = "商品状态")
	private String status;

	@ApiModelProperty(value = "商品发布时间")
	@DateTimeFormat(pattern = "yyyy-MM-dd HH:mm:ss")
	@JsonFormat(pattern = "yyyy-MM-dd HH:mm:ss", timezone = "GMT+8")
	private Date releaseTime;

	@ApiModelProperty(value = "赠品剩余库存")
	private Long giftSurplusStock;

	@ApiModelProperty(value = "图片集（逗号分割）")
	private String imagePath;
}
